package com.dearbinge.data.dao.comment;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.dearbinge.data.pojo.comment.Reply;
import com.dearbinge.data.pojo.comment.vo.ReplyVO;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 回复表dao层
 *
 * @author wes
 * @date 2019/1/9
 */
@Mapper
public interface ReplyMapper extends BaseMapper<Reply> {

    /**
     * 增加回复表并返回主键id
     * @param reply 回复表
     * @return
     */
    Integer insertReply(Reply reply);


    int deleteReply(Integer replyId);


    int insertSelective(Reply record);



    Reply selectByPrimaryKey(Integer replyId);



    Integer updateReply(Reply record);

    int updateByPrimaryKeyWithBLOBs(Reply record);

    int updateByPrimaryKey(Reply record);


    /**
     * 根据类型和对应的表id拿到回复
     *
     * @param commentId 评论id
     * @param lastId    评论id
     * @param page      分页
     * @return 评论集合
     */
    List<ReplyVO> listReply(@Param("commentId") String commentId, @Param("lastId") Integer lastId, Page page);

    /**
     * 统计回复总数
     *
     * @param commentId 评论id
     * @return 总数
     */
    Integer countReply(String commentId);
}